package cn.leida.ruoyi.generator.dto;

import cn.leida.ruoyi.common.core.domain.BaseEntity;
import cn.leida.ruoyi.common.utils.bean.BeanUtils;
import cn.leida.ruoyi.generator.domain.GenTableColumn;
import com.alibaba.fastjson2.JSONObject;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;


/**
 * 代码生成业务字段表 gen_table_column
 *
 * @author liutietou
 * @since 1.0  2020-12-25
 */
@Data
public class GenTableColumnDto extends BaseEntity {


    /**
     * 列名称
     */
    private String columnName;


    /**
     * 是否必填（1是）
     */
    private String isRequired;


    /**
     * 是否主键（1是）
     */
    private String isPk;

    /**
     * 排序
     */
    private Integer sort;


    /**
     * 列描述
     */
    private String columnComment;


    /**
     * 是否自增（1是）
     */
    private String isIncrement;


    /**
     * 列类型
     */
    private String columnType;

    public static List<GenTableColumn> loadBeans(List<JSONObject> jsonList) {
        List<GenTableColumn> beans = new ArrayList<>();
        if (jsonList == null || jsonList.isEmpty()) {
            return beans;
        }
        //  map 转对象
        for (JSONObject jsonObject : jsonList) {
            GenTableColumnDto dto = jsonObject.toJavaObject(GenTableColumnDto.class);
            GenTableColumn bean = new GenTableColumn();
            BeanUtils.copyProperties(dto, bean);
            beans.add(bean);
        }
        return beans;
    }

}
